A modern telecommunications system has to be highly reliable, available, adaptable to network conditions, and able to provide a high quality of service. FIG. 1 depicts a telecommunications system with such requirements imposed on it. Telecommunications system 100 comprises a network of telecommunications nodes and endpoints, including master administration node 101, regional super-nodes 102-1 through 102-3, local nodes 103-1 through 103-7, and telecommunications endpoint 104, interconnected as shown. Each of the nodes depicted comprises one or more data-processing systems such as servers, routers, switches, and so forth. System 100 provides telecommunications services, such as call setup and handling, to the users of the endpoints present.
The network in system 100 reflects a tree-based network topology, in which clusters of local nodes (e.g., nodes 103-1 and 103-2, etc.) are connected to regional super-nodes (e.g., node 102-1, etc.), and regional super-nodes are connected to the master administration node. Any node is able to communicate with any other node throughout system 100, through the transmission of packets through possibly one or more intermediate nodes in the transmission system. Each node serves a particular role that is, in part, dependent on its location within system 100. Master administration node 101 serves as a single place to back-up and maintain the entire network from a single location. Each regional super-node 102 provides common processing and a common database for the area that the super-node supports. And each local node 103 provides access to the telecommunications endpoints associated with the local node. For example, local node 103-1 provides telecommunications service for telecommunications endpoint 104 as depicted.
A distributed network such as that in system 100 is complex in its data needs. The network is dynamic, as nodes and endpoints are added to or moved within the network and events such as calls are occurring. Features such as mobility throughout the network, duplication of resources for high availability, and geo-redundancy for disaster recovery are in increasing demand throughout the telecommunications industry. Even network upgrades can be challenging, as service providers of these telecommunications systems typically can only upgrade a part of their network of communications servers at a time.
In fact, because of the dynamic and complex nature of the network, there is no guarantee that any node in the network keeps the same set of data as any other node, at any given moment in time. The continually changing set of information used by system 100 is depicted in FIG. 2. Information set 200 represents an illustrative portion of the set of information stored throughout system 100: all of the data related to call control; data related to operations, administration, maintenance, and provisioning; subscriber data; and so forth. Traditionally, when subsets of data are transferred from one node to another, the data is transferred in portions that are based on software requirements or server requirements. Those portions are represented in FIG. 2 as apportioned data sets 201, 202, and 203, which are the areas that are delineated with solid lines. For example, at a given point in time, data set 201 might be stored at node 502-1, data set 202 might be stored at node 502-3, and data set 203 might be stored at node 503-4.
A consequence of apportioning data based on software or server requirements is that the availability of data at the right place and time is not guaranteed. For example, regional super-node 502-3, which has apportioned data set 202, might actually require access to the data in required data subset 212, delineated in the figure with dashed lines. Because of this data mismatch, node 502-3 is missing some important data, which is depicted by the portion of subset 212 that overlaps into data set 201. Simultaneously, node 502-3 has superfluous data, namely that data outside of data subset 212 but within data set 202. Alternatively, there might be other times when regional super-node 502-3 needs only the data subset 211, which is delineated in the figure by the dotted-and-dashed line. As a direct consequence of the data mismatch, servers that are used to route calls often do not know how to route the call because those servers do not have the current routing data; because of this, some calls cannot be put through.
What is needed is a technique that enables an improved distribution of the data that is essential to providing high-quality, telecommunications services within a network, without some of the disadvantages in the prior art.